A device that reads information from, or writes information to, a smart card typically does so using a smart card reader. The smart card reader may be connected, e.g., through a directly wired connection or a wireless connection, to the device. Specific software, called a “driver”, is generally executed by the device to facilitate reading from, and writing to, the memory component of the smart card using the smart card reader. The driver includes an application programming interface (API) that allows other programs to issue requests and commands that will be understood by the driver.
Historically, for a device to use a smart card provided by a particular vendor, the device has been required to execute a driver supplied by the particular vendor. However, as the applications available for execution on smart cards become more standardized, device manufacturers are developing generic smart card drivers that work with a variety of smart cards. Unfortunately, the co-existence, on a given device, of multiple smart card drivers can lead to situations wherein one smart card driver is selected for use in communicating with the smart card, but functions available through the use of another smart card driver are desired.